﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

using Infra.Entity;
using Infra.Business;


namespace softpower.forms.ui
{
    public partial class frmComuna : Form
    {

        private static frmComuna frm = null;

        public frmComuna()
        {
            InitializeComponent();
        }


        public static frmComuna Instancia()
        {
            if (frm == null || frm.IsDisposed)
            {
                frm = new frmComuna();
            }
            return frm;
        }



        private void frmComuna_Load(object sender, EventArgs e)
        {
            preenchaCombosPais();
        }


        void preenchaCombosPais()
        {
            List<Infra.Entity.LOCPAIS> PAIS = PaisBLL.Pesquisar();
            cbxPaisComuna.DisplayMember = "STRPAIS";
            cbxPaisComuna.ValueMember = "CODPAIS";
            cbxPaisComuna.DataSource = PAIS;
        }

        void preenchaCombosProvincia(int idPais)
        {
            List<Infra.Entity.LOCPROVINCIA> provincias = ProvinciaBLL.Pesquisar(idPais);
            cbxProvComuna.DisplayMember = "STRPROVINCIA";
            cbxProvComuna.ValueMember = "CODPROVINCIA";

            cbxProvComuna.DataSource = provincias;
        }



        private void cbxPaisComuna_SelectedIndexChanged(object sender, EventArgs e)
        {
              int idPais = Convert.ToInt32(cbxPaisComuna.SelectedValue);
            preenchaCombosProvincia(idPais);
        }


        void preenchaCombosMunicipio(int idProvincia)
        {
            List<Infra.Entity.LOCMUNICIPIO> municipios = MunicipioBLL.Pesquisar(idProvincia);
            cbxMunicipio.DisplayMember = "STRMUNICIPIO";
            cbxMunicipio.ValueMember = "CODMUNICIPIO";

            cbxMunicipio.DataSource = municipios;
        }

        private void cbxProvComuna_SelectedIndexChanged(object sender, EventArgs e)
        {
            int idProvincia = Convert.ToInt32(cbxProvComuna.SelectedValue);
            preenchaCombosMunicipio(idProvincia);
        }





        private void btnSalvar_Click(object sender, EventArgs e)
        {
            if (!String.IsNullOrEmpty(txtNomeComuna.Text))
            {
                ComunaBLL.Salvar(Convert.ToInt32("0" + txtCodComuna.Text), Convert.ToInt32(cbxMunicipio.SelectedValue), Convert.ToInt32(cbxProvComuna.SelectedValue), Convert.ToInt32(cbxPaisComuna.SelectedValue), txtNomeComuna.Text);
                MessageBox.Show("Comuna cadastrado com sucesso!");
            }
            else
                MessageBox.Show("Campo obrigatório");
        }



    }
}
